約 7,309,836 件
https://w.atwiki.jp/nicepaper/pages/175.html
phpプログラミングをしている中で、とてもわかりづらい概念や用語が度々登場します。 その中で、メソッド、クラスというものを今回は取り上げてみたいと思います。 おそらく今から話す内容を初回から理解できる人は少ないと思います(多くの人間が躓くところであるから・・)が、なんとなくーという感じで理解していただければ幸いですし、他のサイトもみながら理解を深めてください。 目次 phpとはクラスをベースとしたオブジェクト指向「も」採用できる。 身近な具体例 phpとはクラスをベースとしたオブジェクト指向「も」採用できる。 関数だけでプログラムの組み合わせをしていくと、どうしても、コード量が膨大になったり、(また、あのプログラム書くのかよぉ。。。)とめんどくさくなってしまいます。 そんな中で、独自(的)な関数を作るのがクラスです。(厳密にいえば、独自関数functionとclassは別)違いはこちらを参照。 まずは、オブジェクトというのは一つのテーマを持ったデータや処理の集まりを意味しています。 オブジェクト指向ではパラメータの値を変えるだけで、その後の処理は決められたメソッド(機能)を利用する事ができます。 パソコンの内部の構造やシステム、部品について詳しく知らなくてもパソコンを起動させることによって様々な操作が可能になるのと似ているかも知れません。 このようなオブジェクトを作るためのテンプレートこそが「クラス」のようです。 例えば、下のようなコードがあったとします。 $user = new User(); $user - serName("○○");//○○の部分がパラメータ echo $user- name; newという命令によりUser(クラス)というものを作り、それを$userという変数に格納します。 クラスにはプロパティやメソッドが定義されています。 そのプロパティやメソッドにアクセスするための記号が- です。 身近な具体例 なんといってもPDOクラスです。データベースに接続して、入力されたデータを色々と自在にアップデートしたり、挿入したり、削除したりして、使いまわすことができるクラスです。実はこれはあらかじめ用意されたクラスを使って操作しています。この詳細についてはPDOの利用を見ていただければと思います。 PDOは用意されたクラスを使っていますが、データベースの接続以外で使うクラスを独自に作れるようになれば、オブジェクト指向プログラミングができるようになり、各段にプログラミングの能力があがります。 以上
https://w.atwiki.jp/nico_player/pages/64.html
概要 メソッドNicoPlayerからイベントの通知を受けるonChangeMediaState メディアの再生状態が変更された後に呼び出される onReceiveComment 最新コメントを受信した後に呼び出される onChangePlayList プレイリストが変更されたときに呼び出される onPlayCM ユーザーニコ割(@CM)の再生設定がされている場合に呼び出される onNotifyPostComment コメントの投稿が完了したときに呼び出される onNotify NicoPlayerから通知メッセージが送られたときに呼び出される NicoPlayerに処理をさせるexecApp ファイルを実行 addMessage 情報ウィンドウにメッセージを追加 execCmd NicoPlayerにコマンドを処理させる postComment コメントを投稿する readFile ローカルのテキストファイルを読み込む writeFile ローカルのテキストファイルに書き込む NicoPlayerから情報を取得するgetVersion NicoPlayerのバージョンを取得 getSoftDir NicoPlayerがあるフォルダパスを取得 getPlayFile 再生開始時に指定したファイルを取得 getMediaFile 再生中のメディアファイルを取得 getCommentFile 再生中のコメントファイルを取得 getInfoFile 再生中のメディアファイルに対応する動画情報ファイルを取得 getTime 現在の再生時間を取得 getLength メディアの長さを取得 getMediaState メディアの再生状態を取得 getPlayList プレイリストのデータを取得 getNavigateMode ページ移動時の動作を取得 NicoPlayerの情報を設定するメソッドsetNavigateMode ページ移動時の動作を設定 その他getThumbnailSource サムネイルのソースを取得 drawThumbnail サムネイルを表示 encloseString 文字列を""で括る プロパティlib_version ライブラリバージョン debug デバッグモード 概要 メソッドとは動画情報ウィンドウを拡張する際にHTML内のJavaScriptから使用する関数のことです。 メソッドを使用することで次のような内容が可能になります。 NicoPlayerから情報を取得 NicoPlayerに処理をさせる(コマンドの送信) NicoPlayerからイベントの通知を受ける 実体はvar np = new npbase();として作成されているので np.メソッド名() と言う形で使用します。 また、プロパティはnp.プロパティ名として値の取得,設定が行えます。 実体の定義は ./videoinfo/nicoplayer.js にあります。 メソッド メソッド名、引数,戻り値,詳細,使用例など。 それぞれの項にある一番上の内容はメソッド,プロパティの定義です。 NicoPlayerからイベントの通知を受ける onChangeMediaState メディアの再生状態が変更された後に呼び出される onChangeMediaState function( state ) 引数 state 再生状態( "Stopped", "Paused", "Running", "" ) 空文字の場合はファイルが何も再生されていないことを表します onReceiveComment 最新コメントを受信した後に呼び出される onReceiveComment function( view, comment, mylist ) 引数 view 再生数 comment コメント数 mylist マイリスト数 最新コメントが見つからない場合や再生数などの情報に変化がない時でも呼び出されます onChangePlayList プレイリストが変更されたときに呼び出される onChangePlayList function() onPlayCM ユーザーニコ割(@CM)の再生設定がされている場合に呼び出される onPlayCM function( path ) 引数 path ユーザーニコ割ファイルのパス onNotifyPostComment コメントの投稿が完了したときに呼び出される onNotifyPostComment function( result ) 引数 result コメントの投稿結果を表す真理値 onNotify NicoPlayerから通知メッセージが送られたときに呼び出される onNotify function( message ) 引数 message 通知メッセージ このメソッドは内部で使われるため通常使用する必要はありません NicoPlayerに処理をさせる execApp ファイルを実行 execApp function( file, arg ) 引数 file 実行するファイルパス arg ファイルに渡す引数 WinAPIのShellExecute()を使用しファイルを実行します。 argにパスを渡す場合はアプリケーションによって""で括る必要があります。 addMessage 情報ウィンドウにメッセージを追加 addMessage function( msg ) 引数 msg メッセージ execCmd NicoPlayerにコマンドを処理させる execCmd function( cmd ) 引数 cmd コマンド文字列 コマンドは起動オプションと同等の内容が指定できます。 またこのメソッドはNicoPlayerを操作する全てのメソッドから呼び出されます。 postComment コメントを投稿する postComment function( comment, command, vpos, id ) 引数 comment コメント command コマンド vpos 動画上の位置(1/100秒) id 動画ID(省略すると現在再生中の動画が指定されます) コメント投稿の実行結果はnp.onNotifyPostComment()によって通知されます NicoPlayerで現在再生中の時間に投稿する場合はvposの値にMath.floor( np.getTime() / 10 )を使用して下さい。 readFile ローカルのテキストファイルを読み込む readFile function( path ) 引数 path ファイルパス 戻り値 テキストデータ ◆削除検討中のメソッドです writeFile ローカルのテキストファイルに書き込む writeFile function( path, data ) 引数 path ファイルパス data 書き込むテキストデータ ◆削除検討中のメソッドです NicoPlayerから情報を取得する getVersion NicoPlayerのバージョンを取得 getVersion function() 戻り値 バージョンナンバー("x.xx") getSoftDir NicoPlayerがあるフォルダパスを取得 getSoftDir function() 戻り値 ファイルパス getPlayFile 再生開始時に指定したファイルを取得 getPlayFile function() 戻り値 ファイルパス getMediaFile 再生中のメディアファイルを取得 getMediaFile function() 戻り値 ファイルパス getCommentFile 再生中のコメントファイルを取得 getCommentFile function() 戻り値 ファイルパス getInfoFile 再生中のメディアファイルに対応する動画情報ファイルを取得 getInfoFile function() 戻り値 ファイルパス getTime 現在の再生時間を取得 getTime function() 戻り値 再生時間(ms) getLength メディアの長さを取得 getLength function() 戻り値 メディアの長さ(ms) getMediaState メディアの再生状態を取得 getMediaState function() 戻り値 再生状態( "Stopped", "Paused", "Running", "" ) 空文字の場合はファイルが何も再生されていないことを表します getPlayList プレイリストのデータを取得 getPlayList function() 戻り値 プレイリストデータのオブジェクト配列 オブジェクトのプロパティ name ファイル名 path ファイルパス 例: var list = np.getPlayList(); for( var i = 0 ; i list.name.length ; i++ ) { document.write( list.name[i] + " br " ); document.write( list.path[i] + " br " ); } getNavigateMode ページ移動時の動作を取得 getNavigateMode function() 戻り値 戻り値 ページ移動時の動作( "Inside", "Outside" ) "Inside" 動画情報ウィンドウ内で開く "Outside" 外部ブラウザで開く NicoPlayerの情報を設定するメソッド setNavigateMode ページ移動時の動作を設定 setNavigateMode function( mode ) 引数 mode ページ移動時の動作( "Inside", "Outside" ) "Inside" 動画情報ウィンドウ内で開く "Outside" 外部ブラウザで開く その他 getThumbnailSource サムネイルのソースを取得 getThumbnailSource function( idMovie, pathThumbnail ) 引数 idMovie 動画ID pathThumbnail サムネイルパス 戻り値 サムネイルパス drawThumbnail サムネイルを表示 drawThumbnail function( srcThumbnail ) 引数 srcThumbnail サムネイルソース encloseString 文字列を""で括る encloseString function( str ) 引数 str 対象となる文字列 戻り値 ""で括られた文字列 既に""で括られている場合は引数をそのまま返します プロパティ lib_version ライブラリバージョン lib_version "x.xx" debug デバッグモード debug false trueにするとNicoPlayerに渡されたコマンド内容を情報ウィンドウに表示します 例: np.debug = true; var time = np.getMediaState();// ここで情報ウィンドウにコマンド内容が表示される
https://w.atwiki.jp/mierka/pages/14.html
以下は、挨拶を二回返すメソッドのサンプル。 def say_goodnight(name) result = おやすみ、 + name return result end #寝る時間です・・・ puts say_goodnight( Mary-Ellen ) puts say_goodnight( John-Boy ) 各文を1文ずつ記述している場合、セミコロンは不要。 コメントは#以降 インデントは2文字分がデファクトスタンダード puts()は引数の内容をコンソール出力し改行コードをひとつ入れるメソッド 処理が一行の場合、 上記コードをhello.rbの名前で保存した場合、以下の方法で実行できる。 work ruby hello.rb おやすみ、Mary-Ellen おやすみ、John-Boy 以下は全く同じ振る舞い(好みで使い分け) puts say_goodnight( John-Boy ) puts(say_goodnight( John-Boy )) 文字列リテラルは、シングルコーテーションかダブルコーテーションで囲む。 シングルコーテーションでは何もしない。ダブルコーテーションでは\n等が改行コードに置換される。 また、 #式 の記述に対して、式展開を行う。 def say_goodnight(name) result = おやすみ、#{name} return result end puts say_goodnight( Pa ) capitalize()メソッドは、先頭を大文字化する。 def say_goodnight(name) result = おやすみ、#{name.capitalize} return result end puts say_goodnight( uncle ) = おやすみ、Uncle Rubyでは、メソッド内で最後に評価した式の値がそのままメソッドの戻り値となる(returnが省略できる)。 def say_goodnight(name) おやすみ、#{name.capitalize} end puts say_goodnight( uncle )
https://w.atwiki.jp/tobegenius/pages/7.html
メソッド 能力開発・自己啓発に関連するメソッドです。随時更新していってください。 ドーマン法? ウェンガートレーニング? シルバメソッド? マインド・マップ?
https://w.atwiki.jp/baron/pages/15.html
メソッドの定義 次のようにする def メソッド名(引数) 処理 return 返り値 end これをPerl風に書き直すと sub メソッド名(引数){ 処理 return 返り値 } である。defとsubが、def-endブロックが{}中ガッコに対応している
https://w.atwiki.jp/genexus/pages/35.html
いろんなメソッドを載せる予定です 名前 意味 JSEvent メソッド JavaScript IsMatch メソッド 正規表現 AddMonths メソッド 月の加算 AddYears メソッド 年の加算
https://w.atwiki.jp/sheap/pages/16.html
公式リファレンスより。 http //sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/io/OutputStream.html OutputStreamクラス この抽象クラスは、バイトの出力ストリームを表現するすべてのクラスのスーパークラスです。出力ストリームは、出力バイトを受け付けて、特定の受け手に送ります。 OutputStream のサブクラスを定義する必要のあるアプリケーションでは、少なくとも 1 バイトの出力を書き込むメソッドを必ず提供しなければなりなせん。(原文ママ) flushメソッド この出力ストリームをフラッシュし、バッファに入っている出力バイトをすべて強制的に書き込みます。flush の汎用規約では、それまでに書き込まれたバイトが出力ストリームの実装によってバッファに入れられている場合に flush を呼び出すと、それらのバイトはただちにその目的の転送先に書き込まれます。 OutputStream の flush メソッドは何も行いません。 なんとなくわかったようなわからないような。出力に関するメソッドだということはわかりました。『なりなせん』はちゃんと通報した方がいいですよね。
https://w.atwiki.jp/k_tech/pages/47.html
java メソッドの引数 Javaでは引数に値を渡す場合、常に値渡し public void setNumber(int number) { number = 100; } ※このメソッドで、引数で渡されたnumberを、100に置き換えようとしているが、変更されない。 int number = 10; obj.setNumber(number); System.out.println(number); // 100ではなく10が表示される。 ※これは、呼び出し元からnumberという変数を渡すわけではなく、numberに格納されている10という値が setNumber()メソッドの引数に定義されているnumberにcopyされているため。 ※呼び出しもとのnumberとメソッドの引数リストのnumberは別の変数であるため、setNumber()内で numberを変更しても呼び出し元の変数に影響はない。 参照型(配列型やクラス型)を使うと、メソッドにはインスタンスを参照する値を渡すため、変更することが可能 public void setArray(int [] array) { for(int i=0; i array.length; i++) array[i] = 100; } int[] array = {1,2,3,4,5} obj.setArray(array); ※array[]の各要素はすべて100に置き換わる。 メソッドのオーバーロード System.out.println()を呼び出すと、メソッド名は同じだが引数を渡さなかったり、異なる型の引数を渡している。 System.out.println()を呼び出すと、Systemクラスのoutというスタティックフィールドに格納されているオブジェクトのprintln()を呼び出す。 outはPrintStream型であるので、println()はもともとPrintStreamクラスで定義されているメソッド。 PrintStreamではprintln()は数多く定義されている。(JDKのAPIドキュメント参照) void println() void println(boolean x) void println(char x) void println(char[] x) void println(double x) void println(float x) void println(int x) void println(long x) void println(Object x) void println(String x) 同じ名前で引数の数や型の異なるメソッドを定義することをメソッドのオーバーロードという。 オーバーロードにより引数の異なるメソッドを同じ名前で定義しておくと、コンパイラはそのメソッドの宣言と、メソッドの呼び出しで渡された引数を照合し、引数の型と数が一致するメソッドを選択してくれる。(オーバーロードの解決) sample public class OverloadTest { public static void main(String[] args) { int[] array = {1,2,3,4,5}; OverloadTestClass obj = new OverloadTestClass(); int ret = obj.sumNUmber(array); System.out.println("setNUmber(int[]) returns ----- " + ret); int ret = obj.sumNumber(1,2,3); System.out.println("setNumber(int,int,int) returns ----- " + ret); int ret = obj.sumNumber("1","1023"); System.out.println("setNUmber(String,Strin) returns ----- " + ret); } } class OverloadTestClass { public int sumNumber(int[] array) { int sum = 0; for(int i=0; i array.length; i++) sum += array[i]; return sum; } public int sumNumber(int n1,int n2,int n3) { int[] array = {n1,n2,n3}; return sumNumber(array); } public int sumNumber(String s1,String s2) { int s1,s2; n1 = Integer.parseInt(s1); n2 = Integer.parseInt(s2); return sumNumber(n1,n2,0); } }
https://w.atwiki.jp/mopsprogramming/pages/67.html
文字列の格納 文字列インスタンスに、文字列を格納するには、PUT メソッドを使います。例えば、 String MyString " Put me into the string" PUT MyString とすれば、文字列「Put me into the string」がストリングインスタンスMyStringに格納されます。 細かくいえば、" Put me into the string"で、この内容の文字列が、名前なしで、辞書のデータ領域に格納され、実行時には、その格納場所の、先頭を示すメモリーアドレスと文字列長のバイト数がスタック上に返されます。PUT メソッドは、格納すべき文字列がきっちり格納できる分のメモリー領域をヒープ(プログラムで自由に使えるメモリ)上に確保して、MyStringと結びつけ、その確保した領域に、文字列内容をコピーします。 スタック効果コメントは: PUT ( addr len -- ) となります。 文字列は、論理的に連続した(プログラム上は一続きとして扱っていい)メモリー領域に格納されます。 なお、既に文字列が格納されているStringインスタンスにPUT メッセージを直接送れば、内容を新しいものに取り替えてくれます。ことさらに前の内容を予め廃棄する必要はありません。 文字列を取り出す 格納された内容を取り出すには、GET メソッドを使います。 GET MyString とすれば、MyStringのために確保されたメモリー上の文字列格納領域の先頭アドレスとバイト長がスタックに返されます。: GET ( -- addr len ) 厳密にいうと、文字列にはアクティブな部分というのがあって、GET はそのアクティブな部分だけのaddressとlengthを返します。格納後、何の操作も加えていなければ、全体のaddressとlengthが返るので、ここではそれを前提とします。 GET メソッドの後には、文字列データに直接アクセスすることが多いと思います。このような場合、OS 9では、文字列データの場所がアクセス中に動かされたりしないように、予めLOCK しておくべきです。 LOCK MyString \ まず、固定 GET MyString \ それから、Get そして、データへのアクセスが一段落したら、直ちにUNLOCK して、動かせるようにしておくべきです。 UNLOCK MyString LOCK/UNLOCKが必要になるのは、StringオブジェクトがHandleの機構を用いて実装されているからです。この機構は、メモリー管理が即物的である状況で乏しいメモリーを効率的に利用する(邪魔なときは移動してスペースを開ける)には適した方法でしたが、現在では、そのメリットはほとんどありません。Carbon APIは伝統的なMacintoshと互換性を保つことを目指しているAPIであるため、Handleの機構が用いられているにすぎない、とさえいえます。OS X上では、Handleされたデータに直接アクセスする場合であっても、LOCK/UNLOCKを考える必要はないとされています。が、OS 9以前の場合はそうはいきません。ただ、メモリが潤沢になった現在、OS 9(あるいは8.6)上でもHandleの利点はほとんどなく、逆に、下手にロックしたままにすると害になる場合もあります。LOCK後はできる限り速やかにUNLOCKしておく方がよいようです。なお、Cocoa/Foundationではハンドルの機構は提供されておらず、iMopsでは、通常のヒープポインターを用いるので、Lock Unlock メソッドは意味がなく、定義されていません。 関連項目: 文字列オブジェクト抽象論 Stringの諸データとアクティブ部分 文字列を操作する 文字列の廃棄 文字列定数 トップページへ 目次へ
https://w.atwiki.jp/opentfc/pages/85.html
メソッドは,オブジェクトを操作するもの。 Rubyでは,全ての操作がメソッドとして実装されている。 7.1 メソッド呼び出し 一般形 オブジェクト.メソッド名(引数1, 引数2, ..., 引数n) オブジェクト指向の世界では,メソッドを実行することを 「オブジェクトにメッセージを送る」「オブジェクトはメッセージを受け取る」と解釈する。 上の構文でのオブジェクトをレシーバという。 7.2 メソッドの分類 7.2.1 インスタンスメソッド あるオブジェクト(インスタンス)をレシーバとするメソッド。 ### インスタンスメソッドの例 "10, 20, 30, 40".split(",") 1000.integer? obj =~ arg1 obj[arg1] = arg2 obj + arg1 後半は構文が違うが,演算子の形をしたメソッドである。 Rubyでは既存のメソッドをユーザが再定義できる。 7.2.2 クラスメソッド レシーバがクラス。例えば,インスタンスを作る場合など。 ### クラスメソッドの例 a = Array.new f = File.open("some_file") t = Time.now クラスメソッドの呼び出しには,「.」の代わりに「 」も使える。 7.2.3 関数的メソッド レシーバがないメソッド。本当にないわけではなく,省略されている。 ### 関数的メソッドの例 print "Hello!" sleep(10) 7.3 メソッドの定義 メソッド定義の一般的な構文 def メソッド名(引数1, 引数2, ...) 実行したい処理 end メソッド名には,アルファベット,数字,「_」が使える。数字で始めることはできない。 インスタンスメソッドやクラスメソッドを定義するには,先にクラスを定義する必要がある。 デフォルト値 「引数名 = 値」と書くと, 引数を省略してメソッドを呼び出したときに使われる値を指定できる。 ### 引数のデフォルト値が指定されているメソッドの例 def hello(name = "Ruby") print "Hello, ", name, ".\n" end hello() # 引数を省略して呼び出し hello("Newbie") # 引数を指定して呼び出し メソッドが複数の引数を持つ場合, 引数リストの右端から順にデフォルト値を指定する。 def func(a, b=1, c=2) ... end メソッドの返り値 return 値 値を省略した場合は,nilが返される。 return文を省略した場合は, メソッドの中で最後に得られる値が返り値となる。{{\br}} また,メソッドを途中で終了させるときもreturn文を使うことができる。